package com.hxd.util;

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
import java.util.Properties;
/**
 * 发送邮件的工具类
 */
public class MailUtil {

    public static void main(String[] args) throws MessagingException {
        int verificationCode = (int) ((Math.random() * 9 + 1) * 100000);
        MailUtil.sendMail("hxd15518817710@163.com",verificationCode);
    }

    //email用户填写的电子邮件    emailCode验证码
    public static void sendMail(String email, int emailCode) throws MessagingException {
        // 1.创建一个程序与邮件服务器会话对象 Session

        Properties props = new Properties();
        //设置邮件传输协议，SMTP
        props.setProperty("mail.transport.protocol", "SMTP");
        //设置邮件服务器主机名
        props.setProperty("mail.host", "smtp.qq.com");
        //邮件服务器验证
        props.setProperty("mail.smtp.auth", "true");// 指定验证为true

        // 创建验证器
        Authenticator auth = new Authenticator() {
            public PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication("2899092586@qq.com", "yhjtdzuvrqtvdgde");
            }
        };

        //创建一个邮件服务器会话
        Session session = Session.getInstance(props, auth);

        // 2.创建一个Message，它相当于是邮件内容
        Message message = new MimeMessage(session);

        message.setFrom(new InternetAddress("2899092586@qq.com")); // 设置发送者

        message.setRecipient(RecipientType.TO, new InternetAddress(email)); // 设置发送方式与接收者

        // 3.设置主题
        message.setSubject("来自天宇酒店系统的验证码");
        // 4.设置正文
        message.setContent("你好，这是来自天宇酒店系统的验证码\n\n您的验证码为：" + emailCode, "text/html;charset=UTF-8");

        //message.setContent(emailMsg, "text/html;charset=utf-8");

        // 5.创建 Transport用于将邮件发送

        Transport.send(message);
    }
}
